// components/custom04/custom04.js
Component({
  observers: {
    // key是需要检测的数据
    // value是一个回调函数，函数绝收一个形参作为参数，是最新的值
    num: function (newNum) {
      console.log(newNum)
    },
    // 数据监听器支持监听属性或内部数据的变化，可以同时监听多个
    'num, count': function (newNum, newCount) {
      console.log(newNum, newCount)
    },
    // 监听器可以监听子数据字段
    'obj.age': function (newAge) {
      console.log(newAge)
    },
    'obj.name': function (newName) {
      console.log(newName)
    },
    // 如果需要监听所有子数据字段的变化，可以使用通配符 **
    'obj.**': function (newAge) {
      console.log(newAge)
    },
    'arr[1]': function (val) {
      console.log(val)
    },
    label: function (newLabel) {
      console.log(newLabel)
    }
  },
  /**
   * 组件的属性列表
   */
  properties: {
    label: {
      type: String,
      value: '标题'
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    num: 10,
    count: 5,
    obj: {
      name: 'jerry',
      age: 10
    },
    arr: [1, 2, 3]
  },

  /**
   * 组件的方法列表
   */
  methods: {
    updateData() {
      this.setData({
        num: this.data.num + 1,
        count: this.data.count - 1,
        'obj.name': 'tom',
        'arr[1]': 600,
        'obj.age': 5,
        label:'新标题'
      })
    }
  }
})